if (name = 'Chicago') & ((font_setting.size <> 12) | (item = 9)) then begin
s := GetIndStr(128, 16);
end else begin
s := GetIndStr(128, 14);
end; (* if *)
InsetRect(r, 3, 3);
TETextBox(@s[1], length(s), r, teJustLeft);
ExitWindow(saved);
end;
function WhatOpenFont (wt: WindowType; item: integer): OSErr;
var
dlg: WindowPtr;
fontmenu: MenuHandle;
sizemenu: MenuHandle;
font_setting: ICFontRecord;
attr: longint;
i: integer;
count: longint;
font_num: integer;
begin
dlg := windowinfo[wt].window;
fontmenu := GetPopupMHandle(dlg, item);
count := sizeof(font_setting);
if (ICMapErr(ICGetPref(GetInstance, windowinfo[wt].items[item]^.key, attr, @font_setting, count)) <> noErr) | (count <> sizeof(font_setting)) then begin
GetFontName(GetAppFont, font_setting.font);
font_setting.face := [];
font_setting.size := GetDefFontSize;
end; (* if *)
ProcessAttributes(wt, item, attr);
GetFNum(font_setting.font, font_num);
if font_num = 0 then begin
GetFontName(GetAppFont, font_setting.font);
GetFNum(font_setting.font, font_num);
end; (* if *)
if FindMenuItem(fontmenu, font_setting.font, i) then begin
SetDCtlValue(dlg, item, i);
end;
sizemenu := GetPopupMHandle(dlg, item + 1);
if FindMenuItem(sizemenu, DecStr(font_setting.size), i) then begin
function WhatFlushFont (wt: WindowType; item: integer): OSErr;
var
dlg: DialogPtr;
err: OSErr;
font_setting: ICFontRecord;
old_font_setting: ICFontRecord;
attr: longint;
count: longint;
font: integer;
begin
dlg := windowinfo[wt].window;
GetCurrentSetting(dlg, item, font_setting, font);
(* get old values *)
count := sizeof(old_font_setting);
if (ICMapErr(ICGetPref(GetInstance, windowinfo[wt].items[item]^.key, attr, @old_font_setting, count)) <> noErr) | (count <> sizeof(old_font_setting)) then begin
old_font_setting.font := '';
end; (* if *)
(* write it back if changed *)
err := noErr;
if (old_font_setting.size <> font_setting.size) or (old_font_setting.face <> font_setting.face) or (IUEqualString(old_font_setting.font, font_setting.font) <> 0) then begin